Conventional technology for mass production of glass or plastic containers involves forming the containers in a multiplicity of blow-molds. Various types of faults or checks, termed "commercial variations" in the art, may occur. It has heretofore been proposed to employ optical scanning techniques for inspecting such containers for variations that affect optical transmission characteristics of the container sidewall. In U.S. Pat. Nos. 4,378,493, 4,378,494 and 4,378,495, all of which are assigned to the assignee of the present application, there are disclosed methods and apparatus in which glass containers are conveyed through a plurality of stations where they are physically and optically inspected. At one inspection station, a glass container is held in vertical orientation and rotated about its vertical axis. An illumination source directs diffused light energy through the container sidewall. A camera, which includes a plurality of light sensitive elements or pixels oriented in a linear array parallel to the vertical axis of container rotation, is positioned to view light transmitted through a vertical strip of the container sidewall. The output of each pixel is sampled at increments of container rotation, and event signals are generated when adjacent pixel signals differ by more than a preselected threshold level. An appropriate reject signal is produced and the rejected container is sorted from the conveyor line.
U.S. Pat. No. 4,701,612, assigned to the assignee hereof, discloses a method and apparatus for inspecting the finish of transparent containers, particularly glass containers, that include facility for directing diffused light energy laterally through the container finish as the container is rotated about its central axis. A camera includes a plurality of light sensitive elements or pixels disposed in a linear array angulated with respect to the container axis and coplanar therewith to view the external and internal finish wall surfaces, the latter through the open container mouth. Individual elements of the camera linear array are sampled by an information processor at increments of container rotation, and corresponding data indicative of light intensity at each element is stored in an array memory as a combined function of element number and scan increment. Such data is compared following completion of container rotation to standard data indicative of an acceptable container finish, and a reject signal is generated if such comparison exceeds an operator-adjustable threshold.
U.S. Pat. No. 4,958,223, also assigned to the assignee hereof, discloses apparatus for inspecting the finish of a container as the container is rotated about its central axis. A light source is positioned to direct diffused light energy onto the container finish, and a camera is positioned across the axis of the container from the light source. The camera comprises a CCD image array sensor having a matrix of image sensing elements arranged in a row-and-column array with transport registers and gating electronics on the sensor for selectively reading image data at the sensing elements sequentially by row and column. Image processing electronics is coupled to the array and generates camera control signals for selectively integrating data from adjacent columns and/or rows on the image array sensor, and for downloading data from the sensor to the image processing electronics only from image data areas of interest. In this way, not only is signal-to-noise ratio enhanced by performing data processing on the sensor itself, but also image processor memory is saved by downloading data only from image areas of interest.
Although the systems and techniques disclosed in the abovenoted patents represent a significant advance in previous inspection technology, improvements remain desirable. For example, image processing computers disclosed in the noted patents comprise conventional VonNeuman processors. These processors are extremely efficient in performing data-dependent processing in which the processor performs some function on a particular pixel, and then branches in the program dependent upon the result of that operation and therefore the value of the pixel. These processors are also efficient in handling non-sequential processing instructions, and many types of non-standard image algorithms. However, many image processing techniques require identical processing of large amounts of image data, such as for signal filtering or comparison to a signal threshold, which are inefficient and time-consuming in VonNeuman-type processors. This problem becomes particularly acute in machine vision system applications, such as applications involving inspection of transparent containers, where rapid processing is required to support high-volume mass production. It is therefore a general object of the present invention to provide a machine vision system that finds particular utility in inspection of transparent containers for variations that affect commercial quality thereof, and in which the architecture of the image processing electronics is constructed for enhanced efficiency of both sequential and non-sequential processing of image data.